#region File Header
//----------------------------------------------------------------
// Copyright (C) 2002 Stefan Kyntchev
// All rights reserved.
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY 
// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT 
// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR 
// FITNESS FOR A PARTICULAR PURPOSE.
//----------------------------------------------------------------
#endregion File Header

namespace AirWeb.WebControls.TreeControl
{
    using System;

    /// <summary>
    ///    Interface to the model builder. BuildModel does the main job of building the tree structure
    ///    by creating instances of TreeNode and NodeItem derivatives.
    /// </summary>
    public interface ITreeControlModel
    {
		/// <summary>
		/// Invoked by the TreeControl to buld the tree of TreeNodes
		/// </summary>
		/// <param name="i_root">The root node of the tree control</param>
       void  BuildModel(TreeNode i_root);

		/// <summary>
		/// Invoked by the TreeControl to add on demand children to
		/// a particular child
		/// </summary>
		/// <param name="i_root">The node to add childrent to</param>
	   void AddChildNodes(TreeNode i_child);
    }
}
